;Assembler header file for ColourPicker
;written by DefMod (Dec 31 2005) on Sat Dec 31 14:11:42 2005
;Jonathan Coxhead, jonathan@doves.demon.co.uk, 29 June 1995

        [       :LNOT: :DEF: ColourPicker_Hdr
        GBLS    ColourPicker_Hdr

        [       :LNOT: :DEF: Get_Types
        GBLS    Get_Types
        ]
        [       :LNOT: :DEF: Types_Hdr
Get_Types                       SETS    "GET oslib/Types.Hdr"
        |
Get_Types                       SETS    ""
        ]
        $Get_Types

        [       :LNOT: :DEF: Get_OS
        GBLS    Get_OS
        ]
        [       :LNOT: :DEF: OS_Hdr
Get_OS                          SETS    "GET oslib/OS.Hdr"
        |
Get_OS                          SETS    ""
        ]
        $Get_OS

        [       :LNOT: :DEF: Get_Wimp
        GBLS    Get_Wimp
        ]
        [       :LNOT: :DEF: Wimp_Hdr
Get_Wimp                        SETS    "GET oslib/Wimp.Hdr"
        |
Get_Wimp                        SETS    ""
        ]
        $Get_Wimp

;Symbols for constants
Error_ColourPickerUninit        *       &20D00
Error_ColourPickerBadModel      *       &20D01
Error_ColourPickerBadHandle     *       &20D02
Error_ColourPickerBadFlags      *       &20D03
Error_ColourPickerInUse         *       &20D04
Error_ColourPickerModelInUse    *       &20D05
Error_ColourPickerBadReason     *       &20D06
ColourPicker_EntryDialogueStarting *       0
ColourPicker_EntryDialogueFinishing *       1
ColourPicker_EntryRedrawArea    *       2
ColourPicker_EntryUpdateArea    *       3
ColourPicker_EntryReadValues    *       4
ColourPicker_EntrySetValues     *       5
ColourPicker_EntryProcessEvent  *       6
ColourPicker_EntrySetColour     *       7
ColourPicker_EntryLimit         *       8
ColourPicker_DialogueOffersTransparent *       &1
ColourPicker_DialogueTransparent *       &2
ColourPicker_DialogueType       *       &C
ColourPicker_DialogueTypeShift  *       2
ColourPicker_DialogueTypeNever  *       &0
ColourPicker_DialogueTypeClick  *       &1
ColourPicker_DialogueTypeClickDrag *       &2
ColourPicker_DialogueIgnoreHelp *       &10
ColourPicker_DialogueIgnoreKeyPressed *       &20
ColourPicker_ModelSizeRGB       *       16
ColourPicker_ModelSizeCMYK      *       20
ColourPicker_ModelSizeHSV       *       16
ColourPicker_ModelRGB           *       0
ColourPicker_ModelCMYK          *       1
ColourPicker_ModelHSV           *       2
Message_ColourPickerColourChoice *       &47700
Message_ColourPickerColourChanged *       &47701
Message_ColourPickerCloseDialogueRequest *       &47702
Message_ColourPickerOpenParentRequest *       &47703
Message_ColourPickerResetColourRequest *       &47704
ColourPicker_ColourTransparent  *       &1
ColourPicker_ColourDragging     *       &2
ColourPicker_OpenTransient      *       &1
ColourPicker_OpenSubMenu        *       &2
ColourPicker_OpenToolbox        *       &2
ColourPicker_UpdateOffersTransparent *       &1
ColourPicker_UpdateTransparent  *       &2
ColourPicker_UpdateType         *       &4
ColourPicker_UpdateVisible      *       &8
ColourPicker_UpdateScroll       *       &10
ColourPicker_UpdateTitle        *       &20
ColourPicker_UpdateColour       *       &40
ColourPicker_UpdateModel        *       &80
ColourPicker_UpdateIgnoreHelp   *       &100
ColourPicker_UpdateIgnoreKeyPressed *       &200

;Symbols for structure offsets and sizes
ColourPicker_D                  *       4 ;abstract type
                                ^       0
ColourPicker_Colour_colour      #       OS_Colour
ColourPicker_Colour_size        #       Int
ColourPicker_Colour_info        #       Int
ColourPicker_Colour             *       @
        
        MACRO
$label                          ColourPicker_Colour_MEMBERS
$label._colour                  #       OS_Colour
$label._size                    #       Int
        MEND
        
                                ^       0
ColourPicker_ColourBase         ColourPicker_Colour_MEMBERS
ColourPicker_ColourBase         *       @

                                ^       0
                                #       Bits
ColourPicker_DialogueFlags      *       @

                                ^       0
ColourPicker_Dialogue_flags     #       ColourPicker_DialogueFlags
ColourPicker_Dialogue_title     #       Ptr
ColourPicker_Dialogue_visible   #       OS_Box
ColourPicker_Dialogue_xscroll   #       Int
ColourPicker_Dialogue_yscroll   #       Int
ColourPicker_Dialogue_colour    #       OS_Colour
ColourPicker_Dialogue_size      #       Int
ColourPicker_Dialogue_info      #       Int
ColourPicker_Dialogue           *       @
        
        MACRO
$label                          ColourPicker_Dialogue_MEMBERS
$label._flags                   #       ColourPicker_DialogueFlags
$label._title                   #       Ptr
$label._visible                 #       OS_Box
$label._xscroll                 #       Int
$label._yscroll                 #       Int
$label._colour                  #       OS_Colour
$label._size                    #       Int
        MEND
        
                                ^       0
ColourPicker_DialogueBase       ColourPicker_Dialogue_MEMBERS
ColourPicker_DialogueBase       *       @

                                ^       0
                                #       Bits
ColourPicker_ModelFlags         *       @

                                ^       0
ColourPicker_Model_flags        #       ColourPicker_ModelFlags
ColourPicker_Model_name         #       Ptr
ColourPicker_Model_description  #       Ptr
ColourPicker_Model_info_size    #       Int
ColourPicker_Model_pane_size    #       OS_Coord
ColourPicker_Model_entries      #       8*Ptr
ColourPicker_Model              *       @

                                ^       0
                                #       Bits
ColourPicker_ColourFlags        *       @

                                ^       0
ColourPicker_MessageColourChoice_d #       ColourPicker_D
ColourPicker_MessageColourChoice_flags #       ColourPicker_ColourFlags
ColourPicker_MessageColourChoice_colour #       OS_Colour
ColourPicker_MessageColourChoice_size #       Int
ColourPicker_MessageColourChoice_info #       Int
ColourPicker_MessageColourChoice *       @
        
        MACRO
$label                          ColourPicker_MessageColourChoice_MEMBERS
$label._d                       #       ColourPicker_D
$label._flags                   #       ColourPicker_ColourFlags
$label._colour                  #       OS_Colour
$label._size                    #       Int
        MEND
        
                                ^       0
ColourPicker_MessageColourChoiceBase ColourPicker_MessageColourChoice_MEMBERS
ColourPicker_MessageColourChoiceBase *       @

                                ^       0
ColourPicker_MessageColourChanged_d #       ColourPicker_D
ColourPicker_MessageColourChanged_flags #       ColourPicker_ColourFlags
ColourPicker_MessageColourChanged_colour #       OS_Colour
ColourPicker_MessageColourChanged_size #       Int
ColourPicker_MessageColourChanged_info #       Int
ColourPicker_MessageColourChanged *       @
        
        MACRO
$label                          ColourPicker_MessageColourChanged_MEMBERS
$label._d                       #       ColourPicker_D
$label._flags                   #       ColourPicker_ColourFlags
$label._colour                  #       OS_Colour
$label._size                    #       Int
        MEND
        
                                ^       0
ColourPicker_MessageColourChangedBase ColourPicker_MessageColourChanged_MEMBERS
ColourPicker_MessageColourChangedBase *       @

                                ^       0
ColourPicker_MessageOpenParentRequest_d #       ColourPicker_D
ColourPicker_MessageOpenParentRequest *       @

                                ^       0
ColourPicker_MessageCloseDialogueRequest_d #       ColourPicker_D
ColourPicker_MessageCloseDialogueRequest *       @

                                ^       0
ColourPicker_MessageResetColourRequest_d #       ColourPicker_D
ColourPicker_MessageResetColourRequest *       @

                                ^       0
ColourPicker_FullMessageColourChoice Wimp_MessageHeader_MEMBERS
ColourPicker_FullMessageColourChoice_d #       ColourPicker_D
ColourPicker_FullMessageColourChoice_flags #       ColourPicker_ColourFlags
ColourPicker_FullMessageColourChoice_colour #       OS_Colour
ColourPicker_FullMessageColourChoice_array_size #       Int
ColourPicker_FullMessageColourChoice_info #       Int
ColourPicker_FullMessageColourChoice *       @
        
        MACRO
$label                          ColourPicker_FullMessageColourChoice_MEMBERS
$label                          Wimp_MessageHeader_MEMBERS
$label._d                       #       ColourPicker_D
$label._flags                   #       ColourPicker_ColourFlags
$label._colour                  #       OS_Colour
$label._array_size              #       Int
        MEND
        
                                ^       0
ColourPicker_FullMessageColourChoiceBase ColourPicker_FullMessageColourChoice_MEMBERS
ColourPicker_FullMessageColourChoiceBase *       @

                                ^       0
ColourPicker_FullMessageColourChanged Wimp_MessageHeader_MEMBERS
ColourPicker_FullMessageColourChanged_d #       ColourPicker_D
ColourPicker_FullMessageColourChanged_flags #       ColourPicker_ColourFlags
ColourPicker_FullMessageColourChanged_colour #       OS_Colour
ColourPicker_FullMessageColourChanged_array_size #       Int
ColourPicker_FullMessageColourChanged_info #       Int
ColourPicker_FullMessageColourChanged *       @
        
        MACRO
$label                          ColourPicker_FullMessageColourChanged_MEMBERS
$label                          Wimp_MessageHeader_MEMBERS
$label._d                       #       ColourPicker_D
$label._flags                   #       ColourPicker_ColourFlags
$label._colour                  #       OS_Colour
$label._array_size              #       Int
        MEND
        
                                ^       0
ColourPicker_FullMessageColourChangedBase ColourPicker_FullMessageColourChanged_MEMBERS
ColourPicker_FullMessageColourChangedBase *       @

                                ^       0
ColourPicker_FullMessageOpenParentRequest Wimp_MessageHeader_MEMBERS
ColourPicker_FullMessageOpenParentRequest_d #       ColourPicker_D
ColourPicker_FullMessageOpenParentRequest *       @

                                ^       0
ColourPicker_FullMessageCloseDialogueRequest Wimp_MessageHeader_MEMBERS
ColourPicker_FullMessageCloseDialogueRequest_d #       ColourPicker_D
ColourPicker_FullMessageCloseDialogueRequest *       @

                                ^       0
ColourPicker_FullMessageResetColourRequest Wimp_MessageHeader_MEMBERS
ColourPicker_FullMessageResetColourRequest_d #       ColourPicker_D
ColourPicker_FullMessageResetColourRequest *       @

                                ^       0
                                #       Bits
ColourPicker_OpenFlags          *       @

                                ^       0
                                #       Bits
ColourPicker_CloseFlags         *       @

                                ^       0
                                #       Bits
ColourPicker_UpdateFlags        *       @

                                ^       0
                                #       Bits
ColourPicker_ReadFlags          *       @

                                ^       0
                                #       Bits
ColourPicker_SetFlags           *       @

                                ^       0
                                #       Bits
ColourPicker_HelpFlags          *       @


;Symbols for SWI's and SWI reason codes
XColourPicker_RegisterModel     *       &67700
ColourPicker_RegisterModel      *       &47700
   ;Entry
   ;  R0 = model_no (Int)
   ;  R1 -> model (ColourPicker_Model)
   ;  R2 = workspace (pointer to Void)

XColourPicker_DeregisterModel   *       &67701
ColourPicker_DeregisterModel    *       &47701
   ;Entry
   ;  R0 = model_no (Int)

XColourPicker_OpenDialogue      *       &67702
ColourPicker_OpenDialogue       *       &47702
   ;Entry
   ;  R0 = flags (ColourPicker_OpenFlags)
   ;  R1 -> dialogue (ColourPicker_Dialogue)
   ;Exit
   ;  R0 = d (ColourPicker_D)
   ;  R1 = w (Wimp_W)

XColourPicker_CloseDialogue     *       &67703
ColourPicker_CloseDialogue      *       &47703
   ;Entry
   ;  R0 = flags (ColourPicker_CloseFlags)
   ;  R1 = d (ColourPicker_D)

XColourPicker_UpdateDialogue    *       &67704
ColourPicker_UpdateDialogue     *       &47704
   ;Entry
   ;  R0 = flags (ColourPicker_UpdateFlags)
   ;  R1 = d (ColourPicker_D)
   ;  R2 -> dialogue (ColourPicker_Dialogue)

XColourPicker_ReadDialogue      *       &67705
ColourPicker_ReadDialogue       *       &47705
   ;Entry
   ;  R0 = flags (ColourPicker_ReadFlags)
   ;  R1 = d (ColourPicker_D)
   ;  R2 = dialogue (pointer to ColourPicker_Dialogue)
   ;Exit
   ;  R1 = w (Wimp_W)
   ;  R2 = size (Int)

XColourPicker_SetColour         *       &67706
ColourPicker_SetColour          *       &47706
   ;Entry
   ;  R0 = flags (ColourPicker_SetFlags)
   ;  R1 -> colour (ColourPicker_Colour)

XColourPicker_HelpReply         *       &67707
ColourPicker_HelpReply          *       &47707
   ;Entry
   ;  R0 = flags (ColourPicker_HelpFlags)
   ;  R1 -> help_request (Wimp_Message)

XColourPicker_ModelSWI          *       &67708
ColourPicker_ModelSWI           *       &47708

ColourPickerModelSWI_ColourChanged *       &0
   ;Entry
   ;  R0 = &0
   ;  R1 -> colour (ColourPicker_Colour)

ColourPickerModelSWI_ColourChangedByDragging *       &1
   ;Entry
   ;  R0 = &1
   ;  R1 -> colour (ColourPicker_Colour)

ColourPickerModelSWI_ClaimEvent *       &2
   ;Entry
   ;  R0 = &2
   ;  R1 = event (Int)
   ;  R2 -> colour (ColourPicker_Colour)

ColourPickerModelSWI_ReleaseEvent *       &3
   ;Entry
   ;  R0 = &3
   ;  R1 = event (Int)
   ;  R2 -> colour (ColourPicker_Colour)

ColourPickerModelSWI_ProcessKey *       &4
   ;Entry
   ;  R0 = &4
   ;  R1 = c (Int)
   ;  R2 -> colour (ColourPicker_Colour)

Service_ColourPickerLoaded      *       &93
   ;Entry
   ;  R1 = &93
   ;  R2 -> loaded_service (code)
   ;  R3 = workspace (pointer to Void)

        ]
        END
